Remote activation of enhanced functionality features in locally created documents

ABSTRACT

A method and system for remotely activating document features in locally created electronic documents. Documents having certain document features are created in a design application at a local computer. Codes correlating to the imparted document features are generated and embedded in the document file. Documents are delivered to a remote computer having a viewer application for opening and viewing the document. The viewer application reads the generated codes and unlocks functionality in the application for implementation of document features. The document features may provide enhanced functionality as value-added items such as digital signature capability, the ability to view a document in high fidelity, and local saving of the document with associated document data.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit under 35 U.S.C. § 120 and is acontinuation of U.S. patent application Ser. No. 09/941,173, filed Aug.27, 2001, for “REMOTE ACTIVATION OF ENHANCED FUNCTIONALITY FEATURES INLOCALLY CREATED DOCUMENTS”, which claims the benefit under 35 U.S.C. §119(e) of U.S. patent application Ser. No. 60/260,319 filed Jan. 8,2001, for “REMOTE ACTIVATION OF ENHANCED FUNCTIONALITY FEATURES INLOCALLY CREATED DIGITAL DOCUMENTS”, both of which are herebyincorporated by reference.

BACKGROUND

1. Field of the Invention

Aspects of the present invention relate generally to a method and systemfor providing effective, network-based transactions. More specifically,embodiments of the present invention relate to a method and system toremotely activate enhanced functionality in a viewer application using aviewed document.

2. Description of the Related Technology

Network-based transactions have lent greater productivity to thebusiness world. With network-based systems, namely the Internet,businesses and organizations are now able to optimize their transactioncapabilities by conducting transactions with their clients and customersonline. Transactions that were previously performed in person or throughthe mail are now routinely done over the Internet in an automated andmore efficient manner. However, certain types of transactions cannot beperformed or, at least, cannot be completely performed over theInternet. That is because certain transactions require the need for sometype of enhanced functionality and such enhanced functionality cannot bereasonably included in the process.

Consider the annual tax forms distributed by the Internal RevenueService (IRS) each year to collect taxes. This task is performed by apaper-based system that requires the taxpayer to obtain a form, completeit, sign it and send the form back to the IRS. The efficiency ofperforming each of these tasks could be increased if this paper-basedsystem were converted to a network-based system. With a network-basedsystem, once an electronic form is created and stored on a centralserver, it is made accessible to the public. Therefore, the need toreproduce, distribute and store voluminous amounts of paper iseliminated. Processing of the electronic forms is also made easier. Datafrom the electronic form is more easily extracted when entered aselectronic text into an electronic form than when it is extracted frompaper-based documents that contain the taxpayer's writings. Thus, ifelectronic forms were made available over the Internet, a formsprocessing application could be used for completing and submitting thecompleted electronic form back to the IRS with many of theinefficiencies eliminated. The problem in this example is that tax formsrequire the signature of the taxpayer. The problem does not arise fromthe fact that signatures are performed by hand on paper. Digitalsignatures have been recognized by the Federal Legislature for theirreliability and have been given legal acceptability per The ElectronicSignatures in Global and National Commerce Act. However, formsprocessing applications are typically unable to provide this enhancedfunctionality to a large segment of people at a cost that makes theprocess a reasonable endeavor. The reasons are related to thearchitecture of the forms processing application.

The electronic form is created using a base software application thatincludes an electronic document design application, which in thisinstance is a form design application; but another application, which isessentially an enhanced viewer (viewer), is required by the personfilling out the form (the taxpayer) to locally open a form on theircomputer for data entry. The viewer raises a cost barrier to theimplementation of this forms processing application. Though it isfiscally reasonable for a business or organization (organization) tolicense a form design application from a vendor to implement the formsprocessing application, it is impractical to license the viewer for thenumerous remotely located customers or clients of the organization. Incases where a form is made available to the general public (governmentforms), the government would need to pay for a viewer license fee forevery citizen who might access the form. This is impractical. Thenumbers involved are too great making the costs exorbitant. Furthermore,the majority of the benefit of electronically processed form-basedtransactions is realized by the organization. For this reason, it is notrealistic to expect that remote form users will pay a license fee for anenhanced viewer.

However, there does exist a legitimate business method where viewers caneffectively be provided to an organization's client or customer basewithout the huge cost detriment involved with licensing those viewers.Under this business method, a vendor that owns a page descriptionlanguage (PDL) application that creates and converts forms to PDL maywant to freely distribute viewers that read the PDL in an effort toincrease sales of the PDL application. For example, this method ispracticed by Adobe, Inc.'s (Adobe's) ACROBAT. With ACROBAT, a user canconvert documents composed in a variety of formats into the Adobe'sproprietary PDL, “Portable Document Format” or PDF. Adobe has anotherapplication called ACROBAT READER that allows an end-user to view andprint the PDF document. ACROBAT READER is made freely available to thepublic. Through this practice, Adobe has made PDF documents the de factoformat for portable documents. An end user can view any document if theoriginal user creates or converts the document to PDF. If an end-userwants to take advantage of certain enhanced functionality (i.e., digitalsignature) at their remote location, the end-user would need to useACROBAT. ACROBAT is not freely distributed to end-users. Licenses ofthis product must be purchased. What is needed is a method and systemfor allowing the free deployment of viewer software that, when presentedwith a document having certain necessary criteria (such as an embeddedactivation key), unlocks certain inherent features in the viewer thatprovide enhanced functionality.

SUMMARY

The present invention provides a solution to this problem that involvesremotely activating enhanced functionality in the end-users application(e.g., the viewer). In this fashion, it is possible to implement anincreased licensing cost for those organizations that wish to useenhanced functionality features. When enhanced functionality is neededby the organization, it can be imparted to a specific document. Viewerscapable of carrying out the capabilities of the enhanced functionalitycan be freely distributed since those features can be made functional byorganizations who distribute forms and who are willing to pay the addedcosts on behalf of their users in order to obtain the significantautomation benefits. Tracking devices can be placed in a network totrack document use for per document licensing schemes.

In the forms processing application, the digital signature capability isactivated within the viewer. The viewer possesses the inherentcapability to perform digital signatures, but only through activationand while the electronic form was active in the viewer. Activation ismade possible by including in an electronic form developed with the formdesign application, form-specific data that controls activation of thevalue-added features for the given document. The data is embedded in theelectronic form file and is accessed remotely by the viewer to determinewhat, if any, enhanced functionality features should be activated. Aform design application capable of imparting enhanced functionality andembedding such functionality in the electronic form is utilized.Furthermore, by embedding form-specific and organization-specificidentification information, licensing schemes can be established basedon electronic form use.

A method and system for remote activation of enhanced functionalityfeatures in locally created documents comprise a base softwareapplication including an electronic document design application forcreating electronic documents, a delivery mechanism included in theelectronic document design application for imparting document featuresto the electronic document, a viewing application for viewing theelectronic documents created by the electronic document creationapplication and carrying out the document features imparted to theelectronic document by the delivery mechanism, a binary string generatorfor generating an activation key, the sequence of which is based on thedocument features imparted to the electronic document, a processor forreading the activation key upon loading the electronic document into theviewing application to determine which document features were impartedto the electronic document and activating the capabilities correspondingto those document features in the electronic document viewingapplication. The system also includes processing instructions forreading the activation key when an electronic document is put in focusand processing instructions for deactivating all document features whenan electronic document is removed from focus. The system furtherincludes a network server for transmission of the electronic documentfrom a first node to a second node, license and document identificationinformation embedded in the electronic document, a counter located atthe network server for counting the transmissions to and from thenetwork server and a means for reading the counter for assessinglicensing fees. The document features may be enhanced functionalityfeatures that add value-added benefits to the electronic document thatare atypical for such documents.

In one embodiment of the invention, there is a system for remotelyactivating document features in locally created electronic documents,the system comprising an electronic document application configured tocreate an electronic document on a local computer, associate documentfeatures with the electronic document, generate an activation keycorrelating to the document features associated with the electronicdocument, and embed the activation key into the electronic document; anda viewer application located on a remote computer configured to open theelectronic document as received through an electronic network, andaccess the activation key in the electronic document, the viewerapplication having functionalities for carrying out document features,the functionalities being selectively unlocked in response to theactivation key.

In another embodiment of the invention, there is a system for remotelyactivating document features in locally created electronic documents,the system comprising an electronic document application configured tocreate an electronic document on a local computer, associate documentfeatures with the electronic document, generate an activation keycorrelating to the document features associated with the electronicdocument, embed the activation key into the electronic document, andsend the electronic document to a remote computer, wherein theactivation key of the electronic document is configured to be read by aremote viewer, the viewer having functionalities for carrying outdocument features, the functionalities being selectively unlocked inresponse to the read activation key.

In another embodiment of the invention, there is a system for remotelyactivating document features in locally created electronic documents,the system comprising a viewer application located on a remote computerconfigured to open an electronic document as received through anelectronic network, the electronic document including an embeddedactivation key correlating to document features associated with theelectronic document, and access the activation key in the electronicdocument, the viewer application having functionalities for carrying outdocument features, the functionalities being selectively unlocked inresponse to the activation key.

In another embodiment of the invention, there is a system fordetermining license fees for network based transactions, the systemcomprising a plurality of transaction files residing in a networkserver; a unique organization code selected from a plurality oforganization codes and embedded in at least one transaction file; and atracking program configured to request download of the at least onetransaction file from the network server to a computer, read the uniqueorganization code each time the at least one transaction file isdownloaded from the network server to the computer, count the number oftimes the unique organization code is read, and calculate a license feefor an organization based on the number of times the unique organizationcode is read.

In another embodiment of the invention, there is a system fordetermining license fees for network based transactions, the systemcomprising a plurality of transaction files residing in the memory of anetwork server; a unique organization code selected from a plurality oforganization codes and embedded in at least one transaction file; acommunication module operating on one of a plurality of computers andconfigured to place a request from the one computer for download of theat least one transaction file from the network server; and a trackingmodule operating on the network server and configured to read the uniqueorganization code each time the at least one transaction file isdownloaded from the network server to the one computer, count the numberof times the unique organization code is read, and calculate a licensefee for an organization based on the number of times the uniqueorganization code is read.

In another embodiment of the invention, there is a method of determininglicense fees for network based transactions, the method comprisingplacing a request from a computer to a network server for download of atleast one transaction file from the network server, accessing a uniqueorganization code each time the at least one transaction file isdownloaded from the network server to the computer, wherein the uniqueorganization code is embedded in at least one transaction file, countingthe number of times the unique organization code is accessed, andcalculating a license fee for an organization based on the number oftimes the unique organization code is accessed.

In another embodiment of the invention, there is a method of determininglicense fees for network based transactions, the method comprisingembedding a unique organization code selected from a plurality oforganization codes into at least one transaction file, placing a requestfrom a computer to a network server for download of the at least onetransaction file from the network server, accessing the uniqueorganization code each time the at least one transaction file isdownloaded from the network server to the computer, counting the numberof times the unique organization code is accessed; and calculating alicense fee for an organization based on the number of times the uniqueorganization code is accessed.

In another embodiment of the invention, there is a method of remotelyactivating document features in a locally created electronic document,the method comprising generating an activation key in relation todocument features associated with an electronic document, embedding theactivation key in the electronic document, delivering the electronicdocument to a remote computer, opening the electronic document in aremote viewer application, reading the activation key in the electronicdocument, and unlocking selected document features with the activationkey.

In another embodiment of the invention, there is a method of remotelyactivating document features in a locally created electronic document,the method comprising creating an electronic document at a localcomputer using an electronic document application, associating documentfeatures with the electronic document, generating an activation key inrelation to the document features associated with the electronicdocument, embedding the activation key in the electronic document, andsending the electronic document to a remote computer, wherein theactivation key in the electronic document is configured to be accessedand selected document features unlocked by a viewer application havingfunctionality for executing the document features.

In another embodiment of the invention, there is a method of remotelyactivating document features in a locally created electronic document,the method comprising receiving, at a remote computer, a firstelectronic document comprising an embedded activation key in relation toa plurality of document features associated with the electronicdocument; opening the first electronic document in a viewer applicationhaving functionality for executing the document features; accessing theactivation key in the first electronic document; and unlocking selecteddocument features via the activation key.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a configuration of components for oneembodiment of the present invention.

FIG. 2 is a flowchart of one embodiment of a process performed by thebase software application shown in FIG. 1.

FIG. 3 is a diagram of three exemplary string representations showing anorganization code, document code, and activation key as generated by theprocess shown in FIG. 2.

FIG. 4 is a block diagram of a configuration of components for anotherembodiment of the present invention including a tracking module.

FIG. 5 is a flowchart of one embodiment of a process performed by theviewer shown in FIGS. 1 and 4.

FIG. 6 is a diagram of a sequence of two exemplary stringrepresentations for a first form being in focus and then a second formbeing in focus.

DETAILED DESCRIPTION

The following detailed description of certain embodiments presentsvarious descriptions of specific embodiments of the present invention.However, the present invention can be embodied in a multitude ofdifferent ways as defined and covered by the claims. In thisdescription, reference is made to the drawings wherein like parts aredesignated with like numerals throughout.

Definitions

The following provides a number of useful possible definitions of termsused in describing certain embodiments of the present invention.

A network may refer to a network or combination of networks spanning anygeographical area, such as a local area network, wide area network,regional network, national network, and/or global network. The Internetis an example of a current global computer network. Those terms mayrefer to hardwire networks, wireless networks, or a combination ofhardwire and wireless networks. Hardwire networks may include, forexample, fiber optic lines, cable lines, ISDN lines, copper lines, etc.Wireless networks may include, for example, cellular systems, personalcommunication services (PCS) systems, satellite communication systems,packet radio systems, and mobile broadband systems. A cellular systemmay use, for example, code division multiple access (CDMA), timedivision multiple access (TDMA), personal digital phone (PDC), GlobalSystem Mobile (GSM), or frequency division multiple access (FDMA), amongothers.

A computer or computing device may be any processor controlled devicethat permits access to the network, including terminal devices, such aspersonal computers, workstations, servers, clients, mini-computers,main-frame computers, laptop computers, a network of individualcomputers, mobile computers, palm-top computers, hand-held computers,set top boxes for a television, other types of web-enabled televisions,interactive kiosks, personal digital assistants, interactive orweb-enabled wireless communications devices, mobile web browsers, or acombination thereof. The computers may further possess one or more inputdevices such as a keyboard, mouse, touch pad, joystick, pen-input-pad,and the like. The computers may also possess an output device, such as avisual display and an audio output. One or more of these computingdevices may form a computing environment.

These computers may be uni-processor or multi-processor machines.Additionally, these computers may include an addressable storage mediumor computer accessible medium, such as random access memory (RAM), anelectronically erasable programmable read-only memory (EEPROM),programmable read-only memory (PROM), erasable programmable read-onlymemory (EPROM), hard disks, floppy disks, laser disk players, digitalvideo devices, compact disks, video tapes, audio tapes, magneticrecording tracks, electronic networks, and other techniques to transmitor store electronic content such as, by way of example, programs anddata. In one embodiment, the computers are equipped with a networkcommunication device such as a network interface card, a modem, or othernetwork connection device suitable for connecting to the communicationnetwork. Furthermore, the computers execute an appropriate operatingsystem such as Linux, Unix, a version of Microsoft Windows, Apple MacOS,IBM OS/2, or other operating system. The appropriate operating systemmay include a communications protocol implementation that handlesincoming and outgoing message traffic passed over the network. In otherembodiments, while the operating system may differ depending on the typeof computer, the operating system will continue to provide theappropriate communications protocols to establish communication linkswith the network.

The computers may contain program logic, or other substrateconfiguration representing data and instructions, which cause thecomputer to operate in a specific and predefined manner, as describedherein. In one embodiment, the program logic may be implemented as oneor more object frameworks or modules. These modules may be configured toreside on the addressable storage medium and configured to execute onone or more processors. The modules include, but are not limited to,software or hardware components that perform certain tasks. Thus, amodule may include, by way of example, components, such as, softwarecomponents, object-oriented software components, class components andtask components, processes, functions, attributes, procedures,subroutines, segments of program code, drivers, firmware, microcode,circuitry, data, databases, data structures, tables, arrays, andvariables.

The various components of the system may communicate with each other andother components comprising the respective computers through mechanismssuch as, by way of example, interprocess communication, remote procedurecall, distributed object interfaces, and other various programinterfaces. Furthermore, the functionality provided for in thecomponents, modules, and databases may be combined into fewercomponents, modules, or databases or further separated into additionalcomponents, modules, or databases. Additionally, the components,modules, and databases may be implemented to execute on one or morecomputers.

A. General Overview

The present invention operates in conjunction with a network-basedcomputer system, such as the Internet. Embodiments of the presentinvention are applied to a forms processing application. The formsprocessing application used in one embodiment creates electronic formshaving a plurality of data fields with a form design application. Theelectronic form is delivered to a user over a network system forentering data thereto. The user opens the electronic form using anapplication capable of viewing the form and entering data to the datafields. Data is entered to the fields and once complete, the electronicform is submitted over the network system to a specified networkdestination. Other applications, not relevant to this invention, extractthe data from the data fields and store the data in memory for backenduse. FIG. 1 depicts the major components of the system in the context ofa forms processing application.

Referring to FIG. 1, a system 99 includes a first computer 100 orcomputing environment having a base software application 102. The basesoftware application 102, generally, is used to design electronicdocuments with an electronic document design application. In oneembodiment, the electronic document design application is a form designapplication 104. The base software application also includes the abilityto impart certain document features, referred to as enhancedfunctionality features 106, to an electronic form. Enhancedfunctionality features are added value items such as digital signaturecapability, the ability to view a form in high fidelity, and localsaving of the form with associated form data. Other functions andfeatures known in the forms processing art may also be included in thebase software application 102. The system 99 further includes a network108 in communication with a server 110, a storage device 112 and aconnectivity device 114 for transmission of files to and from theserver. The network 108 is in communication with the first computer 100.A second computer 116 having a target application 118 also connects tothe server 110 via the network 108 and connectivity device 114. Thetarget application 118 includes a viewer 120, which possesses theability to view the electronic form documents produced by the formdesign application 104 and to carry out the enhanced functionalityfeatures 122 imparted to the electronic form by the base softwareapplication 102. For convenience, the target application 118 may bereferred to hereinafter as the viewer 120. Therefore, the viewer 120allows the user to enter a digital signature to the electronic form,view the electronic form in high fidelity and/or perform a local save ofthe form with associated form data to the local memory of the secondcomputer.

The server 110, the first computer 100 and the second computer 116 mayeach have any conventional general purpose single- or multi-chipmicroprocessor, for example a Pentium processor, a Xenon processor, anAthlon processor, a MIPS processor, a Power PC processor, an ALPHAprocessor, or other general purpose processors. In addition, themicroprocessor may be any conventional special purpose microprocessorsuch as a digital signal processor or a graphics processor.Additionally, the server 110, the first computer 100 and the secondcomputer 116 may be a desktop, server, portable, hand-held, set-top, orother desired type of computing device. Furthermore, the server 110, thefirst computer 100 and the second computer 116 each may be used inconnection with various operating systems, including, for example, UNIX,LINUX, Disk Operating System (DOS), VxWorks, PalmOS, OS/2, Mac OS, aversion of Microsoft Windows, or other operating system. The server 110,the first computer 100 and the second computer 116 may each include anetwork terminal equipped with a video display, keyboard and pointingdevice.

Although FIG. 1 shows one second computer 116, the system configuration99 may include any number of second computers. The network 108 can beany type of electronic transmission medium, for example, including butnot limited to the following networks: a virtual private network, apublic Internet, a private Internet, a secure Internet, a privatenetwork, a public network, a value-added network, an intranet, or awireless gateway. The term “virtual private network” refers to a secureand encrypted communications link between nodes on the Internet, a WideArea Network (WAN), Intranet, or any other network transmission means.In addition, connectivity to the network 108 may be via, for example, amodem, Ethernet (IEEE 802.3), Token Ring (IEEE 802.5), Fiber DistributedDatalink Interface (FDDI), Asynchronous Transfer Mode (ATM), WirelessApplication Protocol (WAP), or other form of network connectivity. Thesecond computer 116 may connect to the network 108 by use of a modem, anetwork interface card, or other mechanism.

B. Base Software Application

The general flow of the base software application 102 (FIG. 1) isdepicted in FIG. 2. The form design application 104 is opened at state200 and a nascent electronic form is designed at state 202. Design ofthe nascent electronic form includes at its most basic level theinclusion of data fields. Other features known in the art, such asgraphic images and text, may also be included within the nascentelectronic form. A nascent electronic form refers to an electronic formin its pre-activated state. When form design is completed, an activationprocess follows. The activation process results in turning many of theeditable features of the nascent electronic form, such as the graphicsand text, into background, e.g., a view only state, while triggering theinherent ability of the data fields to accept data input when opened ina viewer. Prior to the activation process, while the electronic formremains a nascent electronic form, the objects, i.e., graphics, text anddata fields, remain editable.

The user of the form design application 104 imparts enhancedfunctionality features at state 204 to the nascent electronic formdocument. These features are imparted through menu driven controls andprocessing derived from the base software application or through othermechanisms known in the art. Enhanced functionality features providevalue-added functionality to a post-activated electronic form document.

The nascent electronic form is activated at state 206 once form designis complete. All of the objects are rendered uneditable and the datafields are given the inherent ability to accept data input when theelectronic form is opened in a compatible application. Activation alsocreates a chain of events related to the enhanced functionalityfeatures. Upon activation at state 206, a string generator generates anactivation key at state 208. In one embodiment, the activation key (seeFIG. 3) is a binary string of a predetermined length. Specified bitpositions signify which particular enhanced functionality features havebeen imparted to the electronic form. For instance, bit position numbertwo might correspond with digital signature functionality. A positiveindication signifies that the ability to allow a remote user to accessdigital signature capabilities when this form is loaded into the targetviewer has been imparted to the given electronic form. Furthermore, acombination of bit positions may signify the operability of a particularenhanced functionality feature, such as for example: bit positiontwo—positive, bit position five—negative, bit position seven—positive.The combination being met can signify that ability to allow a remoteuser to access digital signature capabilities when this form is loadedinto the target viewer has been imparted to the given electronic form.The base software application 102 defines the binary string sequencesnecessary to allow impartation of enhanced functionality features to theelectronic form. The generated binary string is embedded in theelectronic form file at state 210 where it resides as an added piece ofinformation, adding length to the file but having no discernable effect.The binary string may also be tagged and embedded within a markup file.

In another embodiment of the invention, the string generator produces ahexadecimal string. The hexadecimal string facilitates encryption of theactivation key. Through encryption, the sequences used to fulfill theenhanced functionality features at the viewer remain hidden andindeterminable. This will prevent others not having the base softwareapplication 102 from making use of the viewer's ability to activateenhanced functionality features.

In addition to generating the activation key, the string generator alsogenerates document specific information to the electronic form file(s).This information is similarly generated in the form of a binary orhexadecimal string. The information provides a unique string identifyingthe subject electronic document and is referred to herein as thedocument code. Computer commands generate a document code at state 212upon electronic form activation. Furthermore, each licensee of the basesoftware application is given a license key that resides in anapplication file. When the electronic form is activated, computercommands are initiated to locate and read the license key at state 214.The computer then converts the license key to a binary or hexadecimalstring, referred to herein as the organization code at state 216. Boththe generated document code and the organization code are embedded inthe electronic form file at state 218 alongside the activation key.

Every electronic form may contain an organization code, a document codeand an activation key embedded therein. In one embodiment, theorganization code is a constant string for every electronic form createdby the licensee. The document code is a unique, per-form variable,differing as a predictable but unique string for each electronic formactivated by the base software application 102. Nevertheless, in oneembodiment, the number of bit positions used for this string remainsconstant and both the organization code and document code are positionedto precede the activation key. When a reader seeks to read the string,the positions of the organization code and document code are set toensure an accurate read. The organization code and document code arepositioned to precede the activation key because the number of bitpositions of the activation key is not necessarily constant. Ifadditional enhanced functionality features are later included to thebase software application, there may be a need to increase the stringlength of the activation key. If the organization code and/or documentcode were to succeed the activation key, an increase in the stringlength of the activation key would upset the positions of the licensekey and/or document code. By having the license key and document codeprecede the activation key, no changes need be made to computer commandsthat would read these strings. The addition of a new enhancedfunctionality feature adds string length to the activation key. Theexisting enhanced functionality features available through the basesoftware application contain pre-set bit positions for their section ofthe activation key. Therefore, installing a new enhanced functionalityfeature to the base software application will not alter the current bitpositions used to signify the impartation of a specific enhancedfunctionality feature because new length is added to the activation keystring for new features. The bit(s) included in the added length areused to signify if the newly installed enhanced functionality feature isimparted to the subject electronic form. In one embodiment, theorganization code, document code, and activation key are embedded in theelectronic form file as one continuous string. Computer commands specifythe meaning of each bit position. See FIG. 3 for a representation ofexemplary binary and hexadecimal strings showing an organization code,document code and activation key.

C. Network System

The activated electronic form is made accessible to the general publicor a selected group of persons. In one embodiment, accessibility isprovided through a network-based system, such as the Internet. Such asystem allows persons in communication with the network and having theappropriate permissions, to access files stored in memory on a networkserver. Referencing FIG. 4, a first computer 400, being in communicationwith a network server 402 through a network 410, transfers an electronicform 404 to the network server through communication mechanisms known inthe art. A second computer 406, also in communication with the networkserver 402 through a communication module 420 and the network 410,accesses the electronic form and transfers it to its own local memorythrough communication mechanisms known in the art.

Access to the electronic file at the second computer 406 is initiated byentering a uniform resource locator (URL) manually in a network requestor indirectly through activation of a hyperlink. The hyperlink may befound on the website of the entity wishing to disseminate the electronicform.

The activated electronic form may also be electronically delivered viaE-mail to an E-mail program or mechanism 422 to intended recipients. Theentity wishing to disseminate the form attaches the electronic form fileto E-mail messages. A mass delivery of the E-mail messages is made overthe network system to all of the intended recipients. Typical E-mailmechanisms known in the art are used for delivery.

Referencing FIG. 4, a viewer 408 is made similarly accessible tointended recipients of the electronic form. To view the electronic formand activate the enhanced functionality features, the viewer is madeavailable to the second computer 406 via the network 410. The URLspecifying the location of the viewer 408 on the network server 402 ismanually entered to access the server. Alternatively, a hyperlink isactivated. Using either approach, the viewer is transferred into thememory of the second computer 406 through communication mechanisms knownin the art. The viewer may also be E-mailed to the intended recipientsin an E-mail attachment to an E-mail program 422 or stored on removablemedia and delivered through non-electronic channels. In one embodiment,a viewer 408′ and the E-mail program 422 are part of a communicationmodule 420 at the second computer 406.

A tracking module or device 412 resides on the network server 402. Thetracking device 412 monitors the traffic of electronic forms. Thetracking device 412 ensures that a licensee is complying with the termsof their license. This is necessary when licensing is based on documentusage. For instance, the terms of a license may be 10,000 transfers fora given price. The 10,001^(st) transfer would violate the terms of thelicense. Furthermore, the license fee could be based on the number ofindividual transfers. The license key (embodied as the organizationcode) and document code provide needed information to the trackingdevice 412 to ensure compliance or calculate royalty fees. The trackingdevice 412 reads the license key, thereby identifying the licensee andthe form identification, and increments a corresponding counter. Thus,particular electronic forms for a specific licensee can be tracked atthe server 402.

D. Viewer

FIG. 5 depicts general processing of the viewer 408′ (FIG. 4). Theviewer is opened in the second computer 406 at state 500. An electronicform 404 is loaded into the viewer at state 502. Loading the electronicform 404 prompts the viewer 408′ to place the subject electronic form infocus or select the form for processing at state 504, which allows thefunctionality of the viewer to be imparted to the subject electronicform. Therefore, such functions as entering data to the data fields canoccur. Loading the electronic form also prompts a reading of theactivation key embedded in the electronic form file. If the activationkey was encrypted by the base software application 102 (FIG. 1), adecryption process is first performed. The activation key is read atstate 506. Enhanced functionality features are activated at state 508according to the indications of the activation key. As stated above, apositive indication in bit position number two might correspond withdigital signature functionality. A positive indication signifies thatthe digital signature feature should be activated in the electronic formallowing the recipient to provide a digital signature. Furthermore, acombination of bit positions may need to be read in order to activate aparticular enhanced functionality feature. Similar to the example givenabove, if bit position two is positive, bit position five is negative,and bit position seven is positive, then the enhanced functionalityfeature corresponding to that combination is activated. The viewerperforms the processing necessary to read the activation key,accordingly, and activate those enhanced functionality features wherepositive indications or respective combination of positive indicationsexist.

The enhanced functionality features imparted to the electronic formdocument are document-specific. The viewer 408′ only activates thosefeatures in electronic forms having an activation key with the positiveindications necessary for activation. A second electronic form loadedinto the viewer at state 510 sets off a chain of commands similar tothose performed when the first electronic form was loaded. The secondelectronic form is selected for processing or is placed in focus atstate 512. This removes the first electronic form from focus anddisengages the activation key of the first form at state 514. Theactivation key embedded in the second electronic form file is read atstate 516. Depending on the indications read in this binary string,certain enhanced functionality features are activated at state 518. Oneembodiment uses a dynamic reading of the activation key to ensureenhanced functionality features are activated on a form-specific basis.Thus, when two electronic forms are loaded into the viewer, theelectronic form that is in focus will control the enhanced functionalityfeatures that become activated. Switching focus back to the firstelectronic form causes the activation key of the first electronic formto be read thereby activating those form-specific enhanced functionalityfeatures.

Various schemes can be configured for placing electronic forms in focus.For instance, if two electronic forms are loaded into the viewer, theunloading of one may automatically (through the commands of the viewerprogramming) place the other in focus. Furthermore, if three electronicforms are loaded in and one is removed from focus, a previously in focuselectronic form may be placed in focus. Whatever programmingconfiguration is used, it is an element of the invention that when noelectronic forms are in focus, no enhanced functionality features willbe activated in one embodiment. Thus, when the in focus command isnullified, a separate instruction may be given by the viewer toinactivate all enhanced functionality features. See FIG. 6 for adescriptive example of this effect.

In certain embodiments, viewers that do not possess the ability to carryout the enhanced functionality features imparted to the electronic formdocument by the base software application 102 (FIG. 1) are still capableof opening the electronic form document. This is true unless the formatof the electronic form document is proprietary and available only tothose users that have a viewer capable of opening the proprietaryformat. With a nonproprietary format, an existing activation key willhave no affect on the ability of the viewer to open the electronic formdocument. If the activation key was placed in the electronic formdocument file(s) as added information, it is rendered ineffectual andignored. Similarly, if the activation key was placed in the electronicform document file(s) between markup language tags, the viewer will notrecognize the tags. This system of making the activation key functionalonly in viewers that possess the ability to carry out enhancedfunctionality features ensures that the form processing application canalways be used for its basic purpose and not rendered unusable.

II. Exemplary System Applications

Remote activation of enhanced functionality features in locally createdelectronic forms facilitates network-based transactions. Twocomplementary products, a design application and a viewer, work inconjunction with each other. The design application imparts one or moredocument features in an electronic form and the viewer possesses thefunctionality to activate and implement the imparted features. Anorganization setting up a network-based transaction creates theelectronic form including the desired document features, which may befeatures that impart enhanced functionality to a document, e.g.,functionality that is atypical but provides an added value to thedocument. The design application may be purchased or licensed from avendor of this type of software. The organization makes the viewersoftware freely available for download, installation and use by theorganization's clients. Through this method, the organization canconduct network-based transactions without being required to purchaselicenses of the enhanced viewer application for all potential users.Since there is no cost involved to the client, clients will readilydownload, install and use the viewer so that they can more efficientlyconduct the transaction online. A limited use of the viewer can beensured by the selective activation of enhanced functionality featuresthrough activation keys that are only functional while the electronicform document is active in the viewer. Embedded string identifiersplaced in the file of the created electronic form allow per form or bulklicensing. A counter placed on the server is able to read the electronicforms passing through the server and associate them with a specificorganization and form.

Conclusion

Specific blocks, sections, devices, functions and modules may have beenset forth. However, a skilled technologist will realize that there aremany ways to partition the system of the present invention, and thatthere are many parts, components, modules or functions that may besubstituted for those listed above.

While the above detailed description has shown, described, and pointedout the fundamental novel features of the invention as applied tovarious embodiments, it will be understood that various omissions andsubstitutions and changes in the form and details of the systemillustrated may be made by those skilled in the art, without departingfrom the intent of the invention.

1. A system for remotely activating document features in locally createdelectronic documents, the system comprising: an electronic documentapplication configured to: create an electronic document on a localcomputer, associate document features with the electronic document,generate an activation key correlating to the document featuresassociated with the electronic document, and embed the activation keyinto the electronic document; and a viewer application located on aremote computer configured to: open the electronic document as receivedthrough an electronic network, and access the activation key in theelectronic document, the viewer application having functionalities forcarrying out document features, the functionalities being selectivelyunlocked in response to the activation key.
 2. A system for remotelyactivating document features in locally created electronic documents,the system comprising: an electronic document application configured to:create an electronic document on a local computer, associate documentfeatures with the electronic document, generate an activation keycorrelating to the document features associated with the electronicdocument, embed the activation key into the electronic document, andsend the electronic document to a remote computer, wherein theactivation key of the electronic document is configured to be read by aremote viewer, the viewer having functionalities for carrying outdocument features, the functionalities being selectively unlocked inresponse to the read activation key.
 3. The system of claim 2, whereinthe document features are enhanced functionality features.
 4. The systemof claim 2, further comprising: means for generating a unique documentcode for the electronic document and embedding the document code intothe electronic document; a network server; means for delivering theelectronic document from the local computer to the remote computerthrough the network server; means for reading the unique document codeeach time the electronic document passes from the network server to theremote computer; and means for counting the number of times the uniquedocument code is read.
 5. The system of claim 4, further comprising:means for obtaining a unique license code and generating a uniqueorganization code for the electronic document in response to the uniquelicense code; means for reading the unique organization code each timethe electronic document passes from the network server to the remotecomputer; and means for counting the number of times the uniqueorganization code is read.
 6. The system of claim 5, further comprisingmeans for determining a license fee in response to the number of timesthe unique organization code is read.
 7. The system of claim 5, furthercomprising means for determining a license fee in response to the numberof times both the unique document code and unique organization code areread.
 8. The system of claim 5, wherein a feature code, whichcorresponds to the entered document features, the unique document code,and the unique organization code are binary data strings.
 9. The systemof claim 8, further comprising means for combining the feature code,unique document code and unique organization code to create onecontiguous binary data string.
 10. The system of claim 9, wherein thefeature code succeeds the unique document code and unique organizationcode in the order of reading, whereby the addition of string length tothe feature code in response to new document features added to theelectronic document does not reposition binary string elementscorresponding to the unique document code, unique organization code andexisting document activation key.
 11. The system of claim 2, wherein theelectronic document application is a form design application.
 12. Asystem for remotely activating document features in locally createdelectronic documents, the system comprising: a viewer applicationlocated on a remote computer configured to: open an electronic documentas received through an electronic network, the electronic documentincluding an embedded activation key correlating to document featuresassociated with the electronic document, and access the activation keyin the electronic document, the viewer application havingfunctionalities for carrying out document features, the functionalitiesbeing selectively unlocked in response to the activation key.
 13. Asystem for determining license fees for network based transactions, thesystem comprising: a plurality of transaction files residing in anetwork server; a unique organization code selected from a plurality oforganization codes and embedded in at least one transaction file; and atracking program configured to: request download of the at least onetransaction file from the network server to a computer, read the uniqueorganization code each time the at least one transaction file isdownloaded from the network server to the computer, count the number oftimes the unique organization code is read, and calculate a license feefor an organization based on the number of times the unique organizationcode is read.
 14. The system of claim 13, wherein each of the pluralityof organization codes corresponds to a unique organization.
 15. Thesystem of claim 13, further comprising: a unique document code embeddedin each of the plurality of transaction files, wherein the trackingprogram is further configured to: read the unique document code eachtime the at least one transaction file is downloaded from the networkserver to the computer, count the number of times the unique documentcode is read, and calculate the license fee for the organization basedon the number of times the unique document code is read.
 16. A systemfor determining license fees for network based transactions, the systemcomprising: a plurality of transaction files residing in the memory of anetwork server; a unique organization code selected from a plurality oforganization codes and embedded in at least one transaction file; acommunication module operating on one of a plurality of computers andconfigured to place a request from the one computer for download of theat least one transaction file from the network server; and a trackingmodule operating on the network server and configured to: read theunique organization code each time the at least one transaction file isdownloaded from the network server to the one computer, count the numberof times the unique organization code is read, and calculate a licensefee for an organization based on the number of times the uniqueorganization code is read.
 17. The system of claim 16, wherein each ofthe plurality of organization codes corresponds to a uniqueorganization.
 18. The system of claim 16, further comprising a uniquedocument code embedded in each of the plurality of transaction files.19. The system of claim 18, wherein the tracking module is additionallyconfigured to: read the unique document code each time the at least onetransaction file is downloaded from the network server to the computer,count the number of times the unique document code is read, andcalculate the license fee for the organization based on the number oftimes the unique document code is read.
 20. A method of determininglicense fees for network based transactions, the method comprising:placing a request from a computer to a network server for download of atleast one transaction file from the network server; accessing a uniqueorganization code each time the at least one transaction file isdownloaded from the network server to the computer, wherein the uniqueorganization code is embedded in at least one transaction file; countingthe number of times the unique organization code is accessed; andcalculating a license fee for an organization based on the number oftimes the unique organization code is accessed.
 21. The method of claim20, wherein the unique organization code is selected from a plurality oforganization codes, and wherein each of the plurality of organizationcodes corresponds to a unique organization.
 22. A method of determininglicense fees for network based transactions, the method comprising:embedding a unique organization code selected from a plurality oforganization codes into at least one transaction file; placing a requestfrom a computer to a network server for download of the at least onetransaction file from the network server; accessing the uniqueorganization code each time the at least one transaction file isdownloaded from the network server to the computer; counting the numberof times the unique organization code is accessed; and calculating alicense fee for an organization based on the number of times the uniqueorganization code is accessed.
 23. The method of claim 22, wherein eachof the plurality of organization codes corresponds to a uniqueorganization.
 24. A method of remotely activating document features in alocally created electronic document, the method comprising: generatingan activation key in relation to document features associated with anelectronic document; embedding the activation key in the electronicdocument; delivering the electronic document to a remote computer;opening the electronic document in a remote viewer application; readingthe activation key in the electronic document; and unlocking selecteddocument features with the activation key.
 25. The method of claim 24,further comprising: generating a unique document code for the electronicdocument; embedding the document code into the electronic document;delivering the electronic document to the remote computer through anetwork server; reading the unique document code for each delivery fromthe network server to the remote computer; and counting the number oftimes the unique document code is read.
 26. The method of claim 25,further comprising: locating a unique license code in the electronicdocument application; generating a unique organization code for theelectronic document based on the unique license code; reading the uniqueorganization code each time the electronic document passes from thenetwork server to the remote computer; and counting the number of timesthe unique organization code is read.
 27. The method of claim 26,further comprising: calculating a first license fee in response to thenumber of times the unique organization code is read; and calculating asecond license fee in response to the number of times both the uniquedocument code and the unique organization code are read.
 28. The methodof claim 24, wherein the electronic document application is a formdesign application.
 29. A method of remotely activating documentfeatures in a locally created electronic document, the methodcomprising: creating an electronic document at a local computer using anelectronic document application; associating document features with theelectronic document; generating an activation key in relation to thedocument features associated with the electronic document; embedding theactivation key in the electronic document; and sending the electronicdocument to a remote computer, wherein the activation key in theelectronic document is configured to be accessed and selected documentfeatures unlocked by a viewer application having functionality forexecuting the document features.
 30. A method of remotely activatingdocument features in a locally created electronic document, the methodcomprising: receiving, at a remote computer, a first electronic documentcomprising an embedded activation key in relation to a plurality ofdocument features associated with the electronic document; opening thefirst electronic document in a viewer application having functionalityfor executing the document features; accessing the activation key in thefirst electronic document; and unlocking selected document features viathe activation key.
 31. The method of claim 30, wherein the unlocking isperformed only when the first electronic document is selected forprocessing.
 32. The method of claim 30, additionally comprising:receiving a second electronic document comprising a correspondingembedded activation key; opening the second electronic document in theviewer application; deselecting the first electronic document fromprocessing; accessing the activation key in the second electronicdocument; and unlocking selected document features in the secondelectronic document via the corresponding activation key.